1. Field of the Invention
The invention relates to a circuit for transforming a plurality of discrete signals. More specifically, the invention pertains to a circuit of the type used for generating the transform coefficient signals of a Walsh-Hadamard transform.
2. Description Relative to the Prior Art
In a conventional Walsh-Hadamard transform, the signals being transformed are discrete input signals in that each signal is an individually distinct entity representative of some distinct event that produces each discrete signal. Such transforms are used in connection with many types of signal processing applications. An exemplary application, and one that will be used hereinafter in describing a specific application for a transformation circuit, involves a circuit for processing signals derived from an image. In such a transformation circuit, the discrete input signals are image signals representative of the light value of elements of the image. (Light value, as used herein shall mean any image-related characteristic--e.g., lightness, brightness, density, hue and the like--that can be expressed in a form suitable for image processing.) For example, a 2 by 2 Walsh-Hadamard transform operates on a 2 by 2 array of discrete image signals generated from a 2 by 2 block of image elements, a 4 by 4 Walsh-Hadamard transform operates on a 4 by 4 array of image signals from a 4 by 4 block of image elements, and so on.
More specifically, let a 4 by 4 block of image elements be represented as a block of sixteen image elements A.sub.ij, as follows. ##EQU1## The corresponding image signals are generated from the light values of these elements. The image signals are represented as an array of sixteen image signals a.sub.ij, as follows. ##EQU2## An array of sixteen coefficient signals c.sub.ij, ##EQU3## is generated from the image signals in sixteen linear arithmetic combinations characteristic of the 4 by 4 Walsh-Hadamard transform, as follows (in part). ##EQU4## Each coefficient signal is a particular linear combination of the light values from image elements within the block. Each combination represents a particular component of the image structure--such as detail--and tends to vanish in the absence of that particular kind of structure (coefficient signal c.sub.11 represents an average component and thus would not ordinarily tend to vanish).
By inspecting these linear arithmetic combinations, it can be seen that each coefficient signal corresponds to a particular summation of all the image signals in the block, allowing some image signals to be positive (multiplied by +1) and others to be negative (multiplied by -1). In this connection, FIG. 1 is an abbreviated way of listing the arithmetic operations necessary to generate these linear combinations. The .+-.1 multipliers for each linear combination mentioned above are grouped into an array of sixteen multipliers, each multiplier corresponding in position to the image element, and signal, it operates upon. Sixteen such arrays are provided corresponding to tne sixteen linear arithmetic combinations mentioned above for generating the sixteen coefficient signals. (It will be evident from FIG. 1 how to form the missing arithmetic combinations not shown in the group of combinations (3)). The array composed of sixteen +1 multipliers generates an average coefficient signal (the c.sub.11 coefficient signal) over the 4 by 4 block of image elements. The other fifteen arrays generate coefficient signals in response to differences in light value between image elements.
At this point, the transform coefficient signals may be processed in a number of ways depending upon the particular system application. For example, the coefficient signals of larger magnitude may be coded for signal transmission. In Ser. No. 441,826, now U.S. Pat. No. 4,442,454 (cross-reference (1)) noise in the image signals is reduced by modifying one or more of the coefficient signals. Whatever technique is used to process the coefficient signals, processed image signals a'.sub.ij are then recovered by inverse transforming the coefficient signals. Since the Walsh-Hadamard transform is exactly invertible, sixteen processed image signals a'.sub.ij are recovered by employing the sixteen combinations represented in FIG. 1, but now with the coefficient signals in place of the unprocessed image signals (and a proportionality factor of 1/16), as follows (in part). ##EQU5## (The combinations not shown above will be evident from inspection of FIG. 1.)
Since the computations of the Walsh-Hadamard transform require only real additions and subtractions, an arithmetic network of summing and differencing elements ordinarily performs the computational algorithm (see, for example, "Hadamard Transform Image Coding," by W. K. Pratt et al, Proceedings of the IEEE, Vol. 57, No. 1, Jan. 1969, 58-68 and the transform circuit diagrams described in co-pending Ser. No. 441,826, now U.S. Pat. No. 4,442,454). It is also known in the prior art to configure such arithmetic networks into a group of like processing modules. For example, in U.S. Pat. No. 3,956,619, a Walsh-Hadamard transformation circuit comprises a cascaded series of processor modules. The first processor module in the cascade receives a serial input data stream and, at its output, produces the Walsh-Hadamard transform coefficient signals of the input data stream taken two signals at a time. The output of the first signal processor module is applied to the input of a second signal processor module, which provides at its output the Walsh-Hadamard coefficient signals of the original input data stream taken four signals at a time, and so on.
FIG. 2 shows an arithmetic network 8 of the type disclosed in Ser. No. 441,826, now U.S. Pat. No. 4,442,454 (cross-reference (1)). The arithmetic network 8 carrys out a Walsh-Hadamard transform on four discrete signals a.sub.1, a.sub.2, a.sub.3 and a.sub.4. The transform is initiated by presenting these signals to a battery of 1 by 2 transforming networks 10. Each network 10 includes arithmetic units 12 and 14, the arithmetic unit 12 summing the two signals presented to it and the unit 14 differencing the two signals presented to it in accordance with the assigned polarities. The computation performed in the network of FIG. 2 provides four transform coefficient signals c.sub.1 . . . c.sub.4, as follows: EQU c.sub.1 =a.sub.1 +a.sub.2 +a.sub.3 +a.sub.4 EQU c.sub.2 =a.sub.1 +a.sub.2 -a.sub.3 -a.sub.4 EQU c.sub.3 =a.sub.1 -a.sub.2 +a.sub.3 -a.sub.4 EQU c.sub.4 =a.sub.1 -a.sub.2 -a.sub.3 +a.sub.4
These coefficient signals may represent the transform of a 1 by 4 string of discrete signals a.sub.1 . . . a.sub.4 or a 2 by 2 array of discrete signals a.sub.1 . . . a.sub.4, depending on the sampling scheme and informational meaning attached to the discrete signals a.sub.1 . . . a.sub.4. For example, the coefficient signals c.sub.1 . . . c.sub.4 may be obtained by transforming a 2 by 2 array of image signals that are derived from a 2 by 2 block of image elements.
When the transform coefficient signals from a 2 by 2 Walsh-Hadamard transform are modified to reduce noise and inverted, certain artifacts sometimes appear in the processed image. These artifacts relate to an unwanted activation of the noise reduction in smooth areas of scene objects. The appearance of these artifacts in the processed image resembles "edges" inserted in places where they should not be. Such "false edge" artifacts interfere with the correct portrayal of the image and are therefore aesthetically undesirable.